home *** CD-ROM | disk | FTP | other *** search
/ ...taking it to the Macs! / ...taking it to the Macs!.iso / Extras / ActiveX Mac SDK / ActiveX SDK / Headers / ActiveX.h next >
Encoding:
Text File  |  1996-12-17  |  7.7 KB  |  300 lines  |  [TEXT/CWIE]

  1. // =================================================================================
  2. //
  3. //    ActiveX.h                ©1996-97 Microsoft Corporation All rights reserved.
  4. //
  5. //    ActiveX type definitions
  6. //
  7. // =================================================================================
  8.  
  9. #ifndef _H_ActiveX
  10. #define _H_ActiveX
  11. #pragma once
  12.  
  13.  
  14. typedef enum
  15. {
  16.     EmptyFocusSet =    0x00000000,
  17.     KeyboardFocus =    0x00000001,
  18.     ModalFocus =    0x00000002,
  19.     FullFocusSet =    0x00000003,
  20.     PadFocusSet =     0xffffffff            //    insure enum takes 32 bits
  21. }
  22. FocusSet;
  23.  
  24. typedef enum
  25. {
  26.     BeginFocusCommand = 0,                //    enum boundary value
  27.     RequestReleaseCommand,
  28.     ReleaseCommand,
  29.     TakeNextCommand,
  30.     TakePrevCommand,
  31.     EndFocusCommand,                    //    enum boundary value
  32.     PadFocusCommand = 0xffffffff        //    insure enum takes 32 bits
  33. }
  34. FocusCommand;
  35.  
  36. typedef enum
  37. {
  38.     BeginFindBySpec = 0,                //    enum boundary value
  39.     FindByAny,
  40.     FindByName,
  41.     FindByClassID,
  42.     EndFindBySpec,                        //    enum boundary value
  43.     PadFindBySpec = 0xffffffff            //    insure enum takes 32 bits
  44. }
  45. FindBySpec;
  46.  
  47. typedef struct
  48. {
  49.     FindBySpec    FindBy;
  50.     union u
  51.     {
  52.         Char8    Name[255];
  53.         CLSID    ClassID;
  54.     };
  55. }
  56. SearchSpec;
  57.  
  58. typedef enum
  59. {
  60.     DepthImmediate =    0x0000,
  61.     DepthParents =        0x0001,
  62.     DepthChildren =        0x0002,
  63.     DepthSiblings =        0x0004
  64. }
  65. DepthSpec;
  66.  
  67. typedef enum
  68. {
  69.     BeginContextCommand = 0,            //    enum boundary value
  70.     AddContext,
  71.     RemoveContext,
  72.     UpdateContext,
  73.     ActivateContext,
  74.     DeactivateContext,
  75.     EndContextCommand,                    //    enum boundary value
  76.     PadContextCommand = 0xffffffff        //    insure enum takes 32 bits
  77. }
  78. ContextCommand;
  79.  
  80. typedef enum
  81. {
  82.     InvalidContextID = 0xffffffff
  83. }
  84. SpecialContextIDs;
  85.  
  86. typedef enum
  87. {
  88.     RemoveAllIdlers = -3,
  89.     RemoveIdler = -2,
  90.     IdleAfterAllEvents = -1,
  91.     IdleAfterNullEvents = 0
  92. }
  93. SpecialIdleTickCounts;
  94.  
  95. typedef enum
  96. {
  97.     BeginHLinkNavigate = 0,                //    enum boundary value
  98.     NavigateURL =  1,                    //    Navigate to specified URL
  99.     NavigateBack = 2,                    //    Navigate backward in navigation stack  
  100.     NavigateForward = 3,                //    Navigate forward in navigation stack
  101.     EndHLinkNavigate,                    //    enum boundary value
  102.     PadHLinkNavigate = 0xffffffff        //    insure enum takes 32 bits
  103. }
  104. HLinkNavigate;
  105.  
  106. typedef enum
  107. {
  108.     BeginHLinkTarget = 0,                //    enum boundary value
  109.     TargetCurrent = 1,                    //    Display in current frame/window
  110.     TargetNewWindow = 2,                //    Display in new window
  111.     EndHLinkTarget,                        //    enum boundary value
  112.     PadHLinkTarget = 0xffffffff            //    insure enum takes 32 bits
  113. }
  114. HLinkTarget;
  115.  
  116. typedef enum
  117. {
  118.     BeginChangeType = 0,
  119.     ViewChange,                        // General View change
  120.     UsedAreaChange,                    // Used Area changed
  121.     DataChange,                            // Data changed, I'm dirty
  122.     PadChangeType = 0xffffffff            // insure enum takes 32 bits
  123. }
  124. ChangeType;
  125.  
  126. typedef void ChangeData;                // Currently undefined
  127.  
  128. typedef enum
  129. {
  130.     BeginMouseEventType = 0,
  131.     MouseDown,
  132.     MouseUp,
  133.     MouseDblClick,
  134.     MouseStillDown,
  135.     MouseEnter,
  136.     MouseLeave,
  137.     EndMouseEventType,
  138.     PadMouseEventType = 0xffffffff        //    insure enum takes 32 bits
  139. }
  140. MouseEventType;
  141.  
  142. typedef enum
  143. {
  144.     BeginKeyEventType = 0,
  145.     KeyDown,
  146.     KeyUp,
  147.     AutoKey,
  148.     EndKeyEventType,
  149.     PadKeyEventType = 0xffffffff        //    insure enum takes 32 bits
  150. }
  151. KeyEventType;
  152.  
  153. typedef enum
  154. {
  155.     BeginActivateEventType = 0,
  156.     AppActivate,
  157.     AppDeactivate,
  158.     WindowActivate,
  159.     WindowDeactivate,
  160.     EndActivateEventType,
  161.     PadActivateEventType = 0xffffffff    //    insure enum takes 32 bits
  162. }
  163. ActivateEventType;
  164.  
  165.  
  166.  
  167. /////////////////////////////////////////////////////////////////////////////
  168. // IContainer interface
  169.  
  170. DECLARE_INTERFACE_(IContainer, IUnknown)
  171. {
  172.     BEGIN_INTERFACE
  173.  
  174.     // *** IUnknown methods ***
  175.     STDMETHOD (QueryInterface) (THIS_ REFIID inRefIID, void **outObj) PURE;
  176.     STDMETHOD_(Uint32,AddRef) (THIS)  PURE;
  177.     STDMETHOD_(Uint32,Release) (THIS) PURE;
  178.  
  179.     // **** IContainer methods ***
  180.     STDMETHOD (EnumControls) (THIS_ SearchSpec* inSpec, Uint32 inSearchDepth, IEnumUnknown** outEnumerator) PURE;
  181. };
  182.  
  183.  
  184. /////////////////////////////////////////////////////////////////////////////
  185. // IHLinkBasic interface
  186.  
  187. DECLARE_INTERFACE_(IHLinkBasic, IUnknown)
  188. {
  189.     BEGIN_INTERFACE
  190.  
  191.     // *** IUnknown methods ***
  192.     STDMETHOD (QueryInterface) (THIS_ REFIID inRefIID, void **outObj) PURE;
  193.     STDMETHOD_(Uint32,AddRef) (THIS)  PURE;
  194.     STDMETHOD_(Uint32,Release) (THIS) PURE;
  195.  
  196.     // **** IHLinkBasic methods ***
  197.     STDMETHOD(GotoURL)(THIS_ HLinkTarget inTarget, Char8* inURL) PURE;
  198.     STDMETHOD(GoBack)(THIS) PURE;
  199.     STDMETHOD(GoForward)(THIS) PURE;
  200.     STDMETHOD(CanGoBack)(THIS) PURE;
  201.     STDMETHOD(CanGoForward)(THIS) PURE;
  202. };
  203.  
  204.  
  205.  
  206. /////////////////////////////////////////////////////////////////////////////
  207. // IThreadScheduler interface
  208. DECLARE_INTERFACE_(IThreadScheduler, IUnknown)
  209. {
  210.     BEGIN_INTERFACE
  211.  
  212.     // *** IUnknown methods ***
  213.     STDMETHOD (QueryInterface) (THIS_ REFIID inRefIID, void **outObj) PURE;
  214.     STDMETHOD_(Uint32,AddRef) (THIS)  PURE;
  215.     STDMETHOD_(Uint32,Release) (THIS) PURE;
  216.  
  217.     // **** IThreadScheduler methods ***
  218.     STDMETHOD(GetScheduler)(THIS_ ProcPtr* outScheduler) PURE;
  219. };
  220.  
  221.  
  222. /////////////////////////////////////////////////////////////////////////////
  223. // IContainerSite interface
  224.  
  225. DECLARE_INTERFACE_(IContainerSite, IUnknown)
  226.     BEGIN_INTERFACE
  227.  
  228.     // *** IUnknown methods ***
  229.     STDMETHOD (QueryInterface)(THIS_ REFIID inRefID, void** outObj) PURE;
  230.     STDMETHOD_(ULONG,AddRef)(THIS)  PURE;
  231.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  232.  
  233.     // **** IContainerSite methods ***
  234.     STDMETHOD (GetContainer)(THIS_ IContainer** outContainer) PURE;
  235.     STDMETHOD (RequestFocus) (THIS_ Boolean8 inAcquire, FocusSet inFocus) PURE;
  236.     STDMETHOD (RequestSizeChange) (THIS_ PlatformPoint* ioSize) PURE;
  237.     STDMETHOD (OnChange) (THIS_ ChangeType inChangeType) PURE;
  238.     STDMETHOD (AcquireContext) (THIS_ Uint32 inContextID, DrawContext* outContext) PURE;
  239.     STDMETHOD (ReleaseContext) (THIS_ DrawContext* inContext) PURE;
  240.     STDMETHOD (SetIdleTime) (THIS_ Int32 inWaitTicks, Uint32 inRefCon) PURE;
  241. };
  242.  
  243.  
  244. /////////////////////////////////////////////////////////////////////////////
  245. // IControl interface
  246.  
  247. DECLARE_INTERFACE_(IControl, IUnknown)
  248.     BEGIN_INTERFACE
  249.  
  250.     // *** IUnknown methods ***
  251.     STDMETHOD (QueryInterface)(THIS_ REFIID inRefID, void** outObj) PURE;
  252.     STDMETHOD_(ULONG,AddRef)(THIS)  PURE;
  253.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  254.  
  255.     // *** IControl methods ***
  256.     STDMETHOD (Draw) (THIS_ DrawContext* inContext) PURE;
  257.     STDMETHOD (OnContextChange)(THIS_ UInt32 ContextID, ContextCommand inCommand) PURE;
  258.     STDMETHOD (GetID)(THIS_ Int32 inBufferSize, Char8* outID) PURE;
  259.     STDMETHOD (GetUsedArea)(THIS_ PlatformRegion* outUsedArea)  PURE;
  260.     STDMETHOD (SetFocus)(THIS_ FocusCommand inCommand, FocusSet inFocus)  PURE;
  261.     STDMETHOD (DoMouse)(THIS_ MouseEventType inMouseET, PlatformEvent* inEvent)  PURE;
  262.     STDMETHOD (DoKey)(THIS_ KeyEventType inKeyET, Char8 inChar, PlatformEvent* inEvent) PURE;
  263.     STDMETHOD (DoActivate)(THIS_ ActivateEventType inActiveET, UInt32 ContextID, PlatformEvent* inEvent)  PURE;
  264.     STDMETHOD (DoSystemEvent)(THIS_ PlatformEvent* inEvent)  PURE;
  265.     STDMETHOD (DoIdle)(THIS_ Uint32 IdleRefCon)  PURE;
  266. };
  267.  
  268.  
  269. /////////////////////////////////////////////////////////////////////////////
  270. // IStandardEvents interface
  271. // Outgoing interface for the standard control events
  272.  
  273. DECLARE_INTERFACE_(IStandardEvents, IUnknown)
  274. {
  275.     BEGIN_INTERFACE
  276.  
  277.     // *** IUnknown methods ***
  278.     STDMETHOD (QueryInterface)(THIS_ REFIID inRefID, void** outObj) PURE;
  279.     STDMETHOD_(ULONG,AddRef)(THIS)  PURE;
  280.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  281.  
  282.     // *** IStandardEvents methods ***
  283.     STDMETHOD (OnDoubleClick)(THIS_ IUnknown* inSource, PlatformEvent* inEvent) PURE;
  284.     STDMETHOD (OnKeyDown)(THIS_ IUnknown* inSource, PlatformEvent* inEvent) PURE;
  285.     STDMETHOD (OnAutoKey)(THIS_ IUnknown* inSource, PlatformEvent* inEvent) PURE;
  286.     STDMETHOD (OnKeyUp)(THIS_ IUnknown* inSource, PlatformEvent* inEvent) PURE;
  287.     STDMETHOD (OnMouseDown)(THIS_ IUnknown* inSource, PlatformEvent* inEvent) PURE;
  288.     STDMETHOD (OnMouseUp)(THIS_ IUnknown* inSource, PlatformEvent* inEvent) PURE;
  289. };
  290.  
  291.  
  292. #ifdef BDIAMOND
  293. #include "BDInterfaces.h"
  294. #endif
  295.  
  296. #endif
  297.  
  298.